home *** CD-ROM | disk | FTP | other *** search
- ▄▄▄▄▄▄ ▄
- ▄█▀▀██████▄ ▄
- █ ██████▀ ▄▄█████████████▀ ▄▄▄▄▄▄▄▄▄▄ ▀▄█ ▄ ▄▄▄▄▄▄▄▄▄
- ░▀ ▐██▀██ ▄██▀▀▀ ▀█▀ ▄▄█████████████▄ ████▄ ▄███████████▄
- ░ ██▌ ▐█ ██ ░ ██▀▀ ▄▄▄▄▄▄▄▄▄ ▀█ █ ▄ ▄ █▀ ▄ █
- ██ █ ▀█ ██▀ █▀ ▀▄▄ ▄▄██▀ █▄ ▀▌ ▄
- ▐█▌ ▐█ █ ▄▄▄▄█▄▄▄▄▄ ██ █ ▀▄ ▀██ ▀████████▄
- ██ █ █▄ ▀░ ▀█ ██▄ █ ▄▀▀▄ █ ███ ░▀▀▀▀▀▀▀▀▓▓▄
- ██ ▄ █ ▀█▄ ░ ██ ▀▄ ░ ▀▄ █ ███ ▀██
- ▐█ ▄███▄ █ ▀█▄ ██▄ ▀▄▄▄▄▄ ▄▄▀ ██ ███ ▄ ▄██
- ▄▄ █▄ ░ ▄██ ▀██▄▄ ▄ ▄▄█▄ ▀██▄▄▄▄▄ ▀▀ ▄▄███ ██ ▄█ ▀ ▄▄▓▓█ ▀
- █ ▀ ▄██ ░▀▀█▄ ▀▀██████████▄ ██████████████ ▄██ ███████████▀ ░
- ▌▀▄▄▄██▀▀ ░ kP<aRT>░▀███▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄ ▄ ▄ ▄ ▄
- ▌
- ▀ ▀ ▀ ▄ ▄▀ ▀▄█ █▀▀ █▀▒ █▀▒ █▀▒
- ▄ ▀ ▀ ▄ ▀ ▄▀▄ █ ▓▄▄ ▓▄█ ▓▀▄ ▓▀▀
-
- · · ·-─────────────────--· · ·
- P.P.L.X - 1.5O
- · · ·-─────────────────--· · ·
- PCBoard Programming Langage eXtractor
- (C) 1995 Lone Runner
-
-
-
- Main Coding - Lone Runner
- Parts - The doC
-
-
- · ·- DOC UPDATED, READ AGAIN! -· ·
- ──────────────────────────
-
- IMPORTANT CHANGES :
- ───────────────────
-
- - my internet address has changed !
- - my PGP key has changed !
-
- See at the end of the doc for the new address and the PGP key revocation
-
-
- ─────────────────────--· · ·
- ■ READ BEFORE USING !
- ─────────────────────--· · ·
-
- You may use this program provided that :
-
- - You are not part of any federal group (i don't like federal groups ;))
- - You are not part of Clark Development Company (nothing personnal...)
- - You planed to use it at home for personnal purposes only (no money here!)
-
- THE AUTHOR MAY NOT BE RESPONSIBLE FOR ANY CHANGE MADE TO ANY PROGRAM
- BY USING PPLX. Nobody will ever ever enter an action against Borland
- because they made Turbo Debugger or to V Communication because they
- made Sourcer. There is no more reason for PPLX author to be responsible
- for any law violation by using this software.
-
- If you don't agree with the above terms or if you are not in accordance
- with restriction use, you HAVE to delete this software IMMEDIATLY.
-
- Further use of this software will be considered as the acceptance of the
- above terms.
-
-
-
-
- ─────────────--· · ·
- ■ DESCRIPTION
- ─────────────--· · ·
-
- PPLX is a PPE decompiler... working with PPE's up to 3.10 handling FUNCTIONS
- & PROCEDURES, and performing heuristic-like analysis.
-
- See WHAT'S.NEW for release history.
-
-
-
- ──────────────--· · ·
- ■ INSTALLATION
- ──────────────--· · ·
-
- Hmm... copy PPLX.EXE to your UTILS\ or WHATEVERITISCALLED\ subdirectory,
- preferably in your PATH...
-
-
-
- ────────────--· · ·
- ■ USING PPLX
- ────────────--· · ·
-
- PPLX FILENAME[.PPE] [/A] [/L] [/U]
-
- You may use wildcards instead of a filename... for example :
-
- PPLX C:\PCB\PPE\*.PPE /A
-
- or
-
- PPLX WEEKTOP.PPE /A /L
-
-
- /A (that replace the old /ANALYSIS) allows PPLX to make an heuristic
- analysis of the ppe beeing decompiled. If you decompile PPE's only to
- check backdoors, you will love this switch! Look at the end of the PPX
- file to see what we are talking about.
-
- /L tells PPLX not to delete the PPU (decrypted PPE) file after decompiling
-
- /U tells PPLX to only decrypt the PPE to the corresponding PPU file.
-
- Previously used /DEBUG switch has been removed from the release version
-
-
- *.PPU
- ─────
-
- When decompiling a PPE 3.xx, PPLX creates a PPU file, that is in fact the
- PPE 3.xx decrypted to a 2.0. Sometimes, you can even run the PPU file
- after renaming it to .PPE (this can be usefull for some people still
- running PCB 15.1). However, this is not recomended because some codes (such
- as FINDFIRST or procedures & functions or many other things) wont be
- handled by the old PCB... I have no idea what PCB does in this case, but
- i believe that it would not be good (crash ?).
-
- Leaving the PPU (/L) or only decrypting the PPE to a PPU file (/U) can also
- be done if you want to have a look into the PPE... I don't know exactly
- what you can do with it but some people asked me those switchs.
-
-
-
- WARNINGS/ERRORS
- ───────────────
-
-
- "Function is declared but not defined, code may not recompile..."
-
- This means that, in the original source code, a function was coded but not
- used. When PPLC compile the source, if a function is not used, it doesn't
- update a important field that holds the function coordinates... In this
- case, PPLX will not be able to detect the beginning of the function, and,
- if there are local variables, to declare them. The same problem may appear
- with procedures.
-
-
- "Unknown statement xxxx, dunno how to handle it... Skipping!"
-
- This means that an unknown statement was used, theorically, this cannot
- happen, but in real life, a corrupted PPE or a anti-decompilation trick
- can produce this warning. If an unknown statement is found, it is skipped,
- causing some next statements to be irrationnal... Code may redecompile
- correctly after some instructions but it is not likely that the code will
- be recompilable.
-
-
- "Unknown function xxxx, dunno how to handle it... Aborting!"
-
- This is a fatal error, an unknown function cannot be skipped, it is due
- to the same things (corrupted PPE, anti-decompilation trick) but cannot
- recover.
-
-
- "FATAL ERROR! ..."
-
- Any error message beginning with "FATAL ERROR" means that the PPE cannot be
- decompiled due to different reasons...
-
-
- FOR/NEXT/WHILE/IF/THEN/CASE/...
- ───────────────────────────────
-
- Don't be surprised by a strange line of code, for example "If (1 < 0)" is
- often used to initiate a FOR/NEXT loop... This is due to PPLC that convert
- all loops to IF/GOTO... That's lame, yes, but that's the way PPLC does
- it... :(
-
-
- BACKDOORS
- ─────────
-
- Don't be shy ;) Decompile all your PPE's, and check the statements/functions
- usage report, a GetAltUser in a JOIN replacement may be strange ;) Use
- /A...
-
-
- PPE'S RUNNING DIFFERENT AFTER BEEING DECOMPILED & RECOMPILED
- ────────────────────────────────────────────────────────────
-
- Some PPE's (CSSC for example) compute a self check to see if they were
- decompiled and recompiled... It is not a big deal because you have the
- source so you can remove the self-check test.
-
-
- ANTI-DECOMPILATION SYSTEMS
- ──────────────────────────
-
- Sometimes, PPLX will report "Anti-decompilation system stripped!". In fact
- this happen when a suposed anti-decompilation system has been found.
- Depending on the anti-decompilation trick used, PPLX will remove or
- modify the line so it can be decompiled. Sometimes you won't even see
- the anti-decompilation in the resulting PPX file, sometimes you will have
- something like :
-
- INTEGER001 = INTEGER001 - *
-
- Just modify this line or remove it so the file can be recompiled.
-
- When PPLX remove the line itself, there is always a risk that this line
- was really used in the code. For example, if a coder put an anti-
- decompilation trick on a line that assign a variable, he can always
- use the result of this assignation elswhere in the code. Because the line
- has been stripped, the PPE will not run as before... Well... Get a life !
- you have the code ! don't expect me to do everything for you ! :)
-
-
- ───────────────────────--· · ·
- ■ WARNINGz / DISCLAIMER
- ───────────────────────--· · ·
-
-
- ■ This decompiler should work perfectly on your machine as it is the
- case on mine. However, some PPE may not decompile, due to some new
- anti-decompilation tricks that maybe will cause PPLX to crash... It is
- possible, also, that PPLX crash or fail to decompile a PPE because of a
- special instruction chain that i didn't manage to handle... In such a
- case, please mail me an uuencoded version of the PPE...
-
- ■ Do what you want with this... You may use this program in any way you
- want, you may destroy it, burn it, eat it, smoke it, inject it, vomit it,
- kick it, suck it, piss it, shot it, print it with reversed lines, rename
- it to zip, arj, arc or whatever you want, try then to extract it, to
- pkzipfix it, you may also perform sort on it, uuencode, crypt it with
- PGP, play it on your GUS or even your SB, you may even decompile, modify
- it, you may do WHAT YOU WANT, but NO MEMBER OF AEGiS CoRP MAY BE
- RESPONSIBLE FOR ANY DAMAGE CAUSED BY THE USE OF THIS PROGRAM OR IT'S
- MODIFICATIONS...
-
- ■ I don't ask any money for you to use PPLX, so don't expect support if
- you experience troubles with this program. If i have time, i will answer
- each email, but i cannot garantee this nor. Don't think it is because
- i have a big ego, but i simply don't have much time :) Anyway, be
- patient, answers may come a lot later than expected, but they may come...
-
-
- ─────────────--· · ·
- ■ FINAL WORDS
- ─────────────--· · ·
-
-
- ■ Clark Development Company
- ─────────────────────────
-
- Still not decided to make OBJ code ? :)
-
- ■ Shareware PPE Coders
- ────────────────────
-
- Well, sorry men, I also make PPE's, and very large ones that take many
- months of programming, but asking money for such pieces of crap is lame...
-
-
- ■ PCB Sysops
- ──────────
-
- Remember ? -> NEVER change a copyright notice ! :)
- We have seen too many sysops changing PPE's authors name and doing such
- lame operations... respect the work of a good coder... don't be lame, let
- his name and notices...
-
-
- ■ Copyright-removers / Backdoor-creators / Lamers & Co
- ────────────────────────────────────────────────────
-
- Don't bother, go to hell immediatly, don't wait to die... thanks.
-
-
- ■ Everybody
- ─────────
-
- Suggestions ? Contacts ? (legal only)
-
- * INTERNET ADDRESS CHANGED!!! *
- ───────────────────────────
-
- -> Write to : lone.runner@nuxes.frmug.fr.net
-
- NOTE : You CAN now send UUENCODED files, i'll receive them :)
-
- Also, it is possible that you don't have the *LAST* version of the
- decompiler since i release new versions when i find bugs, that means that
- there is no periodicity for new releases of PPLX. For this reason, mail
- me to ask the last version of the decompiler before telling that it is
- impossible to decompile a PPE :)
-
- Although i will try to make new versions as soon as bugs are found, i
- cannot garantee that i will release one each time i found a new PPE that
- don't decompile...
-
- But please, PLEASE !!! Don't ask me to explain the PPE format :)
-
- Oh yes, of course, SOURCE IS AVAILABLE... for 1.000.000$ Cash Only.
-
-
- If you want to support AEGiS CoRP
- ─────────────────────────────────
-
- You want to legalize marijuana ? jason.bourne@nuxes.frmug.fr.net
- You want to play paintball and break your leg ? gandalf@nuxes.frmug.fr.net
- You want to trash norton commander ? the.doc@nuxes.frmug.fr.net
- Tha wan ta chad lak diss ? kloy@nuxes.frmug.fr.net
- You want to exchange raggae CDs ? new.id@nuxes.frmug.fr.net
- You want to kill Windows ? number.six@nuxes.frmug.fr.net
- You want to give hardware ? ;) lone.runner@nuxes.frmug.fr.net
-
-
-
- * PGP KEY CHANGED!!! *
- ──────────────────
-
- Here is the revocation certification for my OLD key (so you know this
- version is not a fake :) )
-
- -----BEGIN PGP PUBLIC KEY BLOCK-----
- Version: 2.6
-
- mQCNAi+5pPgAAAEEAL/3Dtnn0sq3tEqvFVcXOo6gZiWZzQ+6bNjPOpLv7Wfh58Mj
- fF/ySJBrJQjTv7CoHVrUxY/ev3VgBpgmmS6RKhZTdv+Grso6nDzoX1B7WSQGRqVW
- JkII6zchYbr3HpCbYf5M1ui4bZTG59SUQAj9fq8U9flWOyLZBGMxOUzkhwwdAAUR
- iQCVAgUgL/wReGMxOUzkhwwdAQFOVgP9Ew5THLYh6LlWig1yJnp4HV7kPZonCYHM
- vreXP118CoHQ0D3cWRhfGTvpS57GnfIiodOK8zlZ4sU+kUcGKLTuj9jiQGfyLjTc
- d9lX4LSTAMrkcafTntfHw1MEYZLmHjMy0CHS5w8U+wJkpZ2ufBa/qDSWBrEywTe4
- VF1rOoSH+9i0L0ZyYW5jaXMgR2FzdGVsbHUgPGZyYW5jaXMuZ2FzdGVsbHVAZWxl
- Y3Ryb24uZnI+iQCVAgUQL7lXS2MxOUzkhwwdAQFCbAP/Q5sYOEdcY+uL7MLG2hpJ
- 0uLN3mwcpfT2e1/xNp//jhqAg845MrgRytkJ+gVrBNyj9PkpBO6coQQggOVsPu50
- UF+OU5jIHCl7JrWcIUBPp/WzNZTiqzP19txa9lghJkZzFZxPK1OZ/1u2X4hfvj/V
- O6L90x6UaqhPYIMFR7YfYc8=
- =U+IQ
- -----END PGP PUBLIC KEY BLOCK-----
-
-
- And here is my BRAND NEW KEY ! (much more nice looking isn't it ? ;))
-
-
- -----BEGIN PGP PUBLIC KEY BLOCK-----
- Version: 2.6
-
- mQCNAi/8EHAAAAEEAKmS4/mymaVeyczvrKdr4sSdj8vKXHWz7SOK5wcI3S/bkIzk
- cF7b0/V35uP5ItStUxNsU54zRDS9snl3MH4/9wgcpky/GEGVAeuC0suybpBOLiJP
- JKUkffhk2jlB7qFB8+dQhMjBc1iUST8rDSuID7t7ChqdY2xHihxaVwFGSpdVAAUR
- tB5sb25lLnJ1bm5lckBudXhlcy5mcm11Zy5mci5uZXS0C0xvbmUgUnVubmVy
- =sqjP
- -----END PGP PUBLIC KEY BLOCK-----
-
-
- ──────--· · ·
- ■ SOAP
- ──────--· · ·
-
- Do you know SOAP ? No ??!!?
-
- Well... SOAP stands for "State Of the Art for PCBoard", it is a fast-growing
- internationnal network dedicaced to PCBoard. For now, SOAP is distributed
- in France, Spain, Italy, Denmark, Germany and Switzerland, and many groups
- has joined (like AEGiS, TNT, ECR and more). The purpose of this net is to
- create a big meeting place for all sysops that have interests in PCB
- (PPE Coding, Configuration problems, Interfacing, Ansi/ascii art, etc...)
- There are also group-restricted confs for PPE group members. An echo file
- is under develoment and should spread all productions from all groups on
- SOAP and more...
-
- If you want more infos (Conf list, etc...) see the Soap Infopackage
- included into PPLX archive.
-
- See ya in a SOAP Conf !
-
-
- ────────--· · ·
- ■ GREETS
- ────────--· · ·
-
-
- Gandalf/Infiny/AEGiS - How is your leg ? :)
-
- The doC/AEGiS - Thanks for your support in brainstormings
- while trying to guess how was coded this
- stupid PPE format ;)
-
- Chicken/ECR - Why should i write something ?
- I just want to greet you ! :)
-
- Number Six/AEGiS - Still hyptnotized by your 21p screen ? :)
-
- New ID/Massive Posse - Ragga rulez!
-
- Jason Bourne/AEGiS - Legalize !!!
-
- Ferem/MWB/AEGiS - Did you finish you realtime-gouraud-shaded-
- fractal-landscape-with-integrated-phong-
- and-mutating-multitasking-code-impossible-
- to-trace ? :))
-
- Kloy / (┤RT - Thanks for those kewl ASCIIz!
-
- HACKTiON - your are kewl guyz, make more prods!
-
- PWA - Is the PPE section still alive ? Hope so...
- anyway, thanks to you guys, to have made
- the world of PPE's so competitive...
-
- All (good ;)) PPE Groups - Go on, continue to release new products,
- and feel free to chat with AEGiS members,
- write to aegis.corp@nuxes.frmug.fr.net !
-
-
-
- _.LoNE RuNNeR
-
-
- _ _ _ ___ ___/\
- _________/\ /\_____________/\________________ ___ _ _ \/\______________
- / _ \/ _________ / ______________________ / __________ /
- _/ __/ \ ____)___\/ \ \_/ \/\___________ \/_
- \ \ \_ \ \_ \__ \_ \_ / /
- \______\ /____________/________________/_____________/____________/kP
- ·-------`------'---------------------------------------------------------·
-
-
-
-